約 3,992,263 件
https://w.atwiki.jp/sevenlives/pages/326.html
WWW【ワールドワイドウェブ】 読み:わーるどわいどうぇぶ 英語:World Wide Web 別名:Web 意味: WWWとはインターネットで使用する標準的なドキュメント?システム。 ネットワークを介して情報を扱うシステムのこと。 略して「Web」。 主に リソースの所在をあらわす(URI) そのリソースをやり取りする(HTTP) リソースの繋がりをハイパーリンクと言う形で記述できる(HTML) という仕組みを盛り込んでいる。 インターネットの代表的な技術として定着している。 2009年11月02日 インターネット HTTP HTML URI ハイパーリンク ティム・バーナーズ=リー
https://w.atwiki.jp/abwiki/pages/84.html
ちょっとABとは関係のないお話 [edit] HTTPについて † Hyper Text Transfer Protocolの略。Webブラウザとサーバがやりとりする際などに使われる通信プロトコル バージョンHTTP/1.0と1.1が存在する。ここでは一応1.1ベース ↑ [edit] 準備 † まずはソケットを使った通信を読んでsendとrecvを使えるようになって頂きたい ↑ [edit] 使い方 † 初めにsendでHTTPのリクエストを送信する。続いてrecvでサーバから返事を受け取る 以上 ↑ [edit] リクエストの基本構造 † <メソッド><HTTPバージョン>CRLF <ヘッダ>CRLF CRLF メソッドはGETとかHEADとかPUTとか。プログラムでいう所の関数名 ヘッダっていうのはメソッドの付加情報。関数の引数みたいな物です メソッドは常に一つ。ヘッダは任意の個数です。無い場合もあります 各行の終端にはCRLF(Ex"\r\n"のこと)を付け、終端には空行を付けます ↑ [edit] レスポンスの構造 † レスポンスはリクエストをsendでHTTPサーバーに送ると必ず返されrecvで受け取ることが出来ます <HTTPバージョン><ステータスコード>CRLF <ヘッダ>CRLF CRLF <メッセージボディ> HTTPバージョンとステータスコードは送ったHTTPメソッドの実行結果で、これだけはレスポンスの先頭に必ず存在します 例 HTTP/1.1 200 OK ステータスコードは3桁の数字で表され、百の位が2なら成功、4ならクライアント側のエラー、5ならサーバ側のエラーになります 3の場合は処理を完了するために再度適切なリクエスト送信する必要がある場合を示します 1は複雑なんでパス ヘッダはメッセージボディの情報を表す部分ですがもしかしたら無い場合もあるかも メッセージボディはGETだったら対象となったリソース、POSTだったらCGIの実行結果とか ここもヘッダ部分と同様に存在しない場合がある(例:HEADメソッド) ヘッダとの間に空行がはさまっているので注意。またメッセージボディの最後にCRLFは存在しない ↑ [edit] HTTPメソッド † ↑ [edit] GETメソッド † HTTPサーバーからリソースを取得します 基本形 GET uri HTTP/1.1 Host hostname hostnameは接続するホストサーバー名です。ここのWikiだとURLのwww.2chab.netの部分です uriの部分は取得したいURLのホスト名より先の部分を指定します 2ちゃんねるのトップページを取得する例 GET / HTTP/1.1 Host www.2ch.net 本来は/index.htmlとか/の先の指定も必要なんですが、省略するとindex*(*は一字以上の文字列)を指定した事になります 略さないで書くと GET /index.html HTTP/1.1 Host www.2ch.net 成功すればレスポンスのメッセージボディ部分にGETの対象になったリソースが入っている ステータスコードは成功すれば200 OK。リソースが見つからなければ404。アクセス拒否なら403。サーバー過負荷なら503 もちろんこれ以外のステータスコードである可能性もある ↑ [edit] Rangeヘッダ † リソースに対するGETの範囲を指定するリクエストヘッダです リソースの128バイトから256バイトまで取得 Range 128-256 リソースの512バイト以降を取得 Range 512- このヘッダを含めてGETを送った場合、成功時のステータスコードは206になります 失敗した時は416(要求範囲が不正)が返されるかも ↑ [edit] If-Modified-Sinceヘッダ † リソースが指定日時より後に更新されているか調べるヘッダです 更新されていない場合はGETしません GMTで2007年5月5日午前0時以降に更新されているか調べる If-Modified-Since Sun, 5 May 2007 00 00 00 GMT このヘッダを含めてGETを送った場合、リソースが更新されていなければレスポンスには304(未更新)が返されます この場合メッセージボディはありません 更新されていれば普通に200番代のステータスコードとメッセージボディを返してきます ↑ [edit] HEADメソッド † HTTPサーバーからリソースの情報を取得します 基本形 HEAD uri HTTP/1.1 Host hostname CRLF hostname、uriはGETと同じです 成功すればリソースのヘッダだけ返ってきます(つまりHEAD=GET-メッセージボディ) ↑ [edit] POSTメソッド † HTTPサーバーに情報を送信します CGIのパラメータなんかを送信するために使う。実行結果がCGI依存なのでかなり厄介 基本形 POST uri HTTP/1.1 Host hostname Content-Type type Content-Length 25222length CRLF メッセージボディ hostname、uriはGETと同じ typeはフォームデータだけ場合はapplication/x-www-form-urlencoded 何らかのリソースを含む場合はmultipart/form-data 殆ど前者だけで事足りると思うが、アップローダーのようなリソースを受け付けるCGIは後者を利用する lengthは後に続くメッセージボディの長さ メッセージボディはapplication/x-www-form-urlencodedの場合 変数名1=値1 変数名2=値2... のように変数名と値を=で結んだ物を を区切りとして羅列する。変数名も値もURLエンコードされていなければならない multipart/form-dataは大変なので省略 成功すれば二百番台のステータスコードを返す リソースが既に生成されている場合201を返す(見たこと無いけど) ↑ [edit] GETでPOSTする † サーバーに情報を送信する時はPOSTを使うべきだが、極少量のデータであればGETでも送れる 基本形 GET uri?メッセージボディ HTTP/1.1 Host hostname CRLF uriの後に?とPOSTのとき送ったメッセージボディをつける。やはりURLエンコード必須 Content-TypeとContent-Lengthはいらない
https://w.atwiki.jp/sitescript/pages/32.html
MSN Video MSN Video http //video.msn.com/ MSN Video JP http //video.jp.msn.com/ MSN Video US http //www.bing.com/videos/browse 各国の MSN Video http //video.jp.msn.com/markets 再生中の動画のURLが、アドレス欄に表示されない場合は、「動画のリンク(video link)」からリンク(link)を表示、これをコピー、アドレス欄に張り付けて Enterキーを押します。 修正情報 2010.08.08 記 DarkKnight さんのサイトスクリプト、 MSNVideo.site.js (date 2008/10/17, version 0.1) に基づきます。 スクリプト例 2012.05.05 up メタデータのversion は、0.1 のままです。 ダウンロードできない動画もあります。 たいていの場合、ダウンロードURL は、ページソースに直書きになっています。上記スクリプト例では、これを利用していないので、効率が悪いかもしれません(汎用性のためこのようにしています)。興味のある方は、直書きURLを利用するように書き換えてみてください。 スクリプト例履歴 2010.08.08 upURL の形式が一部変更されたようなので、これに対応。 取得した realUrl のプロトコルが、rtpm や mms の場合、null を返すようにしています。こうした URL も取得したい場合は、適宜書き換えてください。 realUrl の拡張子が ism (IIS Smooth Streaming) のものは、取得しないようにしています。取得したい場合は、該当部分を適宜書き換えてください。 2012.05.05 upuuidの取得に失敗する場合があることに対応。 RTMPプロトコルやMMSプロトコルの場合や、拡張子ism (IIS Smooth Streaming)の場合など、Craving Explorer で扱えない場合は、メッセージウィンドウを表示するようにした。94行目あたり、_MSNVIDEO.showDlgをfalseにするとメッセージウィンドウは表示されません。デフォルトでは、trueになっています。 複数のURLが取得できた場合、最も画質の良さそうなものを選ぶようにした。URLの選択は、211~221行目あたりの sort で行っていますので、必要ならばご自分の好みに合うように書き換えてください。 名前 コメント
https://w.atwiki.jp/touhoukashi/pages/2988.html
【登録タグ SOUND HOLIC W aki メイガスナイト 強敵 -EXTRA BOSS- 曲】 【注意】 現在、このページはJavaScriptの利用が一時制限されています。この表示状態ではトラック情報が正しく表示されません。 この問題は、以下のいずれかが原因となっています。 ページがAMP表示となっている ウィキ内検索からページを表示している これを解決するには、こちらをクリックし、ページを通常表示にしてください。 /** General styling **/ @font-face { font-family Noto Sans JP ; font-display swap; font-style normal; font-weight 350; src url(https //img.atwikiimg.com/www31.atwiki.jp/touhoukashi/attach/2972/10/NotoSansCJKjp-DemiLight.woff2) format( woff2 ), url(https //img.atwikiimg.com/www31.atwiki.jp/touhoukashi/attach/2972/9/NotoSansCJKjp-DemiLight.woff) format( woff ), url(https //img.atwikiimg.com/www31.atwiki.jp/touhoukashi/attach/2972/8/NotoSansCJKjp-DemiLight.ttf) format( truetype ); } @font-face { font-family Noto Sans JP ; font-display swap; font-style normal; font-weight bold; src url(https //img.atwikiimg.com/www31.atwiki.jp/touhoukashi/attach/2972/13/NotoSansCJKjp-Medium.woff2) format( woff2 ), url(https //img.atwikiimg.com/www31.atwiki.jp/touhoukashi/attach/2972/12/NotoSansCJKjp-Medium.woff) format( woff ), url(https //img.atwikiimg.com/www31.atwiki.jp/touhoukashi/attach/2972/11/NotoSansCJKjp-Medium.ttf) format( truetype ); } rt { font-family Arial, Verdana, Helvetica, sans-serif; } /** Main table styling **/ #trackinfo, #lyrics { font-family Noto Sans JP , sans-serif; font-weight 350; } .track_number { font-family Rockwell; font-weight bold; } .track_number after { content . ; } #track_args, .amp_text { display none; } #trackinfo { position relative; float right; margin 0 0 1em 1em; padding 0.3em; width 320px; border-collapse separate; border-radius 5px; border-spacing 0; background-color #F9F9F9; font-size 90%; line-height 1.4em; } #trackinfo th { white-space nowrap; } #trackinfo th, #trackinfo td { border none !important; } #trackinfo thead th { background-color #D8D8D8; box-shadow 0 -3px #F9F9F9 inset; padding 4px 2.5em 7px; white-space normal; font-size 120%; text-align center; } .trackrow { background-color #F0F0F0; box-shadow 0 2px #F9F9F9 inset, 0 -2px #F9F9F9 inset; } #trackinfo td ul { margin 0; padding 0; list-style none; } #trackinfo li { line-height 16px; } #trackinfo li nth-of-type(n+2) { margin-top 6px; } #trackinfo dl { margin 0; } #trackinfo dt { font-size small; font-weight bold; } #trackinfo dd { margin-left 1.2em; } #trackinfo dd + dt { margin-top .5em; } #trackinfo_help { position absolute; top 3px; right 8px; font-size 80%; } /** Media styling **/ #trackinfo .media th { background-color #D8D8D8; padding 4px 0; font-size 95%; text-align center; } .media td { padding 0 2px; } .media iframe nth-of-type(n+2) { margin-top 0.3em; } .youtube + .nicovideo, .youtube + .soundcloud, .nicovideo + .soundcloud { margin-top 0.75em; } .media_section { display flex; align-items center; text-align center; } .media_section before, .media_section after { display block; flex-grow 1; content ; height 1px; } .media_section before { margin-right 0.5em; background linear-gradient(-90deg, #888, transparent); } .media_section after { margin-left 0.5em; background linear-gradient(90deg, #888, transparent); } .media_notice { color firebrick; font-size 77.5%; } /** Around track styling **/ .next-track { float right; } /** Infomation styling **/ #trackinfo .info_header th { padding .3em .5em; background-color #D8D8D8; font-size 95%; } #trackinfo .infomation_show_btn_wrapper { float right; font-size 12px; user-select none; } #trackinfo .infomation_show_btn { cursor pointer; } #trackinfo .info_content td { padding 0 0 0 5px; height 0; transition .3s; } #trackinfo .info_content ul { padding 0; margin 0; max-height 0; list-style initial; transition .3s; } #trackinfo .info_content li { opacity 0; visibility hidden; margin 0 0 0 1.5em; transition .3s, opacity .2s; } #trackinfo .info_content.infomation_show td { padding 5px; height 100%; } #trackinfo .info_content.infomation_show ul { padding 5px 0; max-height 50em; } #trackinfo .info_content.infomation_show li { opacity 1; visibility visible; } #trackinfo .info_content.infomation_show li nth-of-type(n+2) { margin-top 10px; } /** Lyrics styling **/ #lyrics { font-size 1.06em; line-height 1.6em; } .not_in_card, .inaudible { display inline; position relative; } .not_in_card { border-bottom dashed 1px #D0D0D0; } .tooltip { display flex; visibility hidden; position absolute; top -42.5px; left 0; width 275px; min-height 20px; max-height 100px; padding 10px; border-radius 5px; background-color #555; align-items center; color #FFF; font-size 85%; line-height 20px; text-align center; white-space nowrap; opacity 0; transition 0.7s; -webkit-user-select none; -moz-user-select none; -ms-user-select none; user-select none; } .inaudible .tooltip { top -68.5px; } span hover + .tooltip { visibility visible; top -47.5px; opacity 0.8; transition 0.3s; } .inaudible span hover + .tooltip { top -73.5px; } .not_in_card span.hide { top -42.5px; opacity 0; transition 0.7s; } .inaudible .img { display inline-block; width 3.45em; height 1.25em; margin-right 4px; margin-bottom -3.5px; margin-left 4px; background-image url(https //img.atwikiimg.com/www31.atwiki.jp/touhoukashi/attach/2971/7/Inaudible.png); background-size contain; background-repeat no-repeat; } .not_in_card after, .inaudible .img after { content ; visibility hidden; position absolute; top -8.5px; left 42.5%; border-width 5px; border-style solid; border-color #555 transparent transparent transparent; opacity 0; transition 0.7s; } .not_in_card hover after, .inaudible .img hover after { content ; visibility visible; top -13.5px; left 42.5%; opacity 0.8; transition 0.3s; } .not_in_card after { top -2.5px; left 50%; } .not_in_card hover after { top -7.5px; left 50%; } .not_in_card.hide after { visibility hidden; top -2.5px; opacity 0; transition 0.7s; } /** For mobile device styling **/ .uk-overflow-container { display inline; } #trackinfo.mobile { display table; float none; width 100%; margin auto; margin-bottom 1em; } #trackinfo.mobile th { text-transform none; } #trackinfo.mobile tbody tr not(.media) th { text-align left; background-color unset; } #trackinfo.mobile td { white-space normal; } document.addEventListener( DOMContentLoaded , function() { use strict ; const headers = { title アルバム別曲名 , album アルバム , circle サークル , vocal Vocal , lyric Lyric , chorus Chorus , narrator Narration , rap Rap , voice Voice , whistle Whistle (口笛) , translate Translation (翻訳) , arrange Arrange , artist Artist , bass Bass , cajon Cajon (カホン) , drum Drum , guitar Guitar , keyboard Keyboard , mc MC , mix Mix , piano Piano , sax Sax , strings Strings , synthesizer Synthesizer , trumpet Trumpet , violin Violin , original 原曲 , image_song イメージ曲 }; const rPagename = /(?=^|.*
https://w.atwiki.jp/hisero/pages/23.html
クッキー付加 head !-- メタ情報として指定する場合 -- meta http-equiv="Set-Cookie" content="クッキー情報" /head !-- Javaで書く場合 -- script language="JavaScript" TYPE="text/javascript" document.cookie = "クッキー情報" /script !-- 適当なbody -- body WebServer01 br a href="./hoge" hoge /a br body 名前 コメント
https://w.atwiki.jp/lodungeon/pages/16.html
https //www.cave.co.jp/contact/
https://w.atwiki.jp/isoroku_be/pages/176.html
情報 作者名:YouTubeダウンロードし放題 引用元:なでしこプログラム掲示板「HTTPグループ」 http //nade.jp-pro.net/bbs/bbs2/cbbs.cgi?mode=al2 namber=1219 更新 2012/01/27 Cookie取得を更新 エラー防止の真偽グループを追加 ダウンロード 概要 五十六さんの作品「TCPクライアントでHTTPっぽいものセット」(以下TCPセット) (http //nade.jp-pro.net/bbs/bbs2/cbbs.cgi?mode=al2 namber=911 感謝!!) を元に機能拡張・改善したライブラリです。 目標としては、簡単に利用できて、且つ、カスタマイズ性に飛んだライブラリを目指して作成しました。 TCPセットとの大まかな違いとしては、 ・TCPデータ取得→新HTTPデータ取得 ・グループとして利用できる ・不同期ダウンロード ・Cookieの自動取得 ・POST命令の削除(無念 後日また挑戦してみます) などです。 解説 「新HTTPデータ取得」は「HTTPデータ取得」と同じ使い方です。 HTTPグループの基本的な使い方は、URLや保存先、オプションなどを指定してから、「開始」です。 注意 HTTPグループに関わる全ての命令を本体の下に記述してください 本来ならば、本体のみを別ファイルにして「取り込む」命令を使用するのが望まれます HTTPグループにFILEを設定した時点でダウンロードとみなされます 逆にFILEを空にすればデータ取得になります 「母艦の終了した時」のイベントのかわりに「母艦終了時」を使用してください 追加した機能 グループ化 動的作成による今までの命令も使えます ダウンロードの不同期化 「同期はオフ」とすることで不同期ダウンロードができます しかし、タイマーで無理やり内蔵しているので多少バグがあります 動的にHTTPグループを作成し、同時ダウンロードを行う事ができます 経過表示のイベント化 経過表示時の行動を何度も書き換えることができるようになりました Cookie自動取得機能(意外と便利) Internet ExplorerのCookieを取得します 自動ページ転送機能 Locationがあれば再取得するようになりました 自動エンコード機能(初期状態ではオフ) 推定残り時間 レジューム(途中ダウンロード)の簡潔化 レジュームを指定しなくても、FILEが存在すればレジュームが使用できるようになりました 逆に強制的に使用しないようにするには「レジューム機能はオフ」とします 削除した機能 POST命令 サンプル使う人はGET命令より少ないのと グループが混じると条件分岐が多くて負担が多いので 特に意識しなくてよいこと SizeOver機能 動画などの大容量のファイルを「データ取得」するとメモリが足りなくなってしまいます なので、ファイルが0.5MGバイト以上の場合は一時的に保存するようにしました チャンクによるバグの修正 チャンクは受信し終わってからまとめて処理するようにしました TCPクライアントと統合 「nakonet.nako」も取り込まなくて済みます (TCPクライアントと併用しても問題ありません) タイマーとの統合 タイマーを内蔵しているので、不同期ダウンロードの際にタイマーを作成する必要がありません TCP自動切断機能(重要) ライブラリ内部でHTTPグループを一括管理しているので、終了時にTCPを手動で切断する必要がなくなりました。 (nakonet.dllのバグでTCPを切断しないと終了できない問題を克服) メモリ節約のための変数宣言 変数を厳密に宣言することで余計なメモリを節約し、関数外の変数が影響することを防ぎます 計算を最小限かつ高速化 サンプル 本体の後ろに置いてください 新HTTP関数 「http //www.google.co.jp/」の新HTTPデータ取得を言う 一番簡単なグループ HTTP1とはHTTPグループ HTTP1=「http //www.youtube.com/」 HTTP1で開始 それを言う 高度な静的グループ 経過詳細テキストとは文字列 平均速度とは数値 受信サイズとは数値 受信予定サイズとは数値 経過バーとはプログレスバー 経過詳細とはラベル 経過詳細の位置=経過バーの右側 中止ボタンとはボタン HTTP2とはHTTPグループ 中止ボタンのクリックした時は~ HTTP2の有効切替#HTTP2の停止判定=1 HTTP2について URL=「http //www.youtube.com/」 #FILE=「{デスクトップ}sample.html」 #HEAD取得判定=1 #レジューム機能=0 #自動エンコード機能=1 経過表示時は~ 経過詳細テキスト=空 経過パーセント=HTTP2の経過パーセント 平均速度=(HTTP2の平均速度/1024/1024)を1で小数点切り上げ 瞬間速度=(HTTP2の瞬間速度/1024/1024)を1で小数点切り上げ 推定残り=HTTP2の推定残り 経過詳細テキストに「{経過パーセント}% 平均速度 {平均速度}MB/s 瞬間速度 {瞬間速度}MB/s 推定残り {推定残り}秒」を配列追加 受信サイズ=(HTTP2の受信Size/1024/1024)を1で小数点切り上げ 受信予定サイズ=(HTTP2の受信予定Size/1024/1024)を1で小数点切り上げ 経過詳細テキストに「受信 {受信サイズ}/{受信予定サイズ}MB」を配列追加 もし、経過パーセント=100ならば 経過詳細テキスト=「ダウンロード完了」 経過詳細=経過詳細テキスト 経過バー=HTTP2の経過パーセント レジューム機能=0 経過表示間隔=0.5 データとは文字列 データ=開始 データを言う IDを利用した動的グループの同時ダウンロード URL一覧とは配列 URL一覧に「http //www.google.co.jp/」を配列追加 URL一覧に「http //www.yahoo.co.jp/」を配列追加 URL一覧に「http //ja.wikipedia.org/wiki/」を配列追加#「http //ja.wikipedia.org/wiki/メインページ」に転送 URL一覧に「http //www.youtube.com/」を配列追加 URL一覧に「http //www.apple.com/jp/」を配列追加 URL一覧に「http //twitter.com/」を配列追加 IDとは数値 ID一覧とは配列 URL一覧で反復 ID=ActiveHTTPG_ID;ID一覧にIDを配列追加 Panel[回数]を経過パネルとして作成 Panel[回数]→Y=(回数-1)*60 Panel[回数]→テキスト1=対象 HTTPG[ID]→URL=対象 HTTPG[ID]→同期=0 HTTPG[ID]→タグ=回数 HTTPG[ID]→経過表示時は~ 経過率とは数値=自身→経過パーセント 受信S=(自身→受信Size/1024)を1で小数点切り上げ 平均速度とは数値=(自身→平均速度/1024/1024)を1で小数点切り上げ 瞬間速度とは数値=(自身→瞬間速度/1024/1024)を1で小数点切り上げ 推定残りとは数値=自身→推定残り Panel[自身→タグ]→値=経過率 TEXTとは文字列 TEXT[0]=「{経過率}% {受信S}kb」 TEXT[1]=「平均 {平均速度}MB/s 瞬間 {瞬間速度}MB/s 残り時間 {推定残り}秒」 もし、経過率=100ならば TEXT[1]=「ダウンロード完了」 Panel[自身→タグ]→テキスト2=TEXT 描画処理反映 ID一覧で反復;HTTPG[対象]→開始() ■経過パネル ・Y ←Y設定 ・値 ←値設定 ・テキスト1 ←テキスト1設定 ・テキスト2 ←テキスト2設定 ・値設定(S)~経過バーOBJ→値=S ・テキスト1設定(S)~ラベル1OBJ→テキスト=S ・テキスト2設定(S)~ラベル2OBJ→テキスト=S ・Y設定(S)~ 経過バーOBJ→Y=S それ=経過バーOBJ→右側;ラベル1OBJ→位置=それ それ=経過バーOBJ→下側;ラベル2OBJ→位置=それ ・パネルOBJ ・経過バーOBJ ・ラベル1OBJ ・ラベル2OBJ ・作る~ 経過バーOBJをプログレスバーとして作成 ラベル1OBJをラベルとして作成 ラベル2OBJをラベルとして作成 ラベル1OBJ→テキスト=空 それ=経過バーOBJ→右側;ラベル1OBJ→位置=それ ラベル2OBJ→テキスト=空 それ=経過バーOBJ→下側;ラベル2OBJ→位置=それ 本体 !変数宣言が必要 最大HTTP数とは数値=20 !HTTP_ID一覧とは配列 !__TCPIDとは数値=0 母艦終了時とは変数 母艦終了時は~何もしない 経過表示時イベントとは変数 経過表示時イベントは~ それ=自身→経過パーセント;母艦=それ 「%」 母艦の終了可能=0 母艦の閉じた時は~ 母艦終了時 HTTP_ID一覧で反復 エラー無視#一応エラー回避 「{対象}→終了時処理」をナデシコする 母艦の終了可能=1;おわり !初期UA=「HTTP」 !ERROR_TCP_403=「HTTP_403 "Forbidden" アクセスが認められていません。」 !ERROR_TCP_404=「HTTP_404 "NotFound" 見つかりません」 !ERROR_TIMEOUT=「HTTP_TIMEOUT タイムアウトしました」 !ERROR_STOP=「HTTP_STOP ユーザーによって停止されました」 ■真偽 ・値 ←値設定 →値取得 デフォルト ・{整数}F値 ・値設定(V)~ もし、(V=0)||(V=1)ならばF値=V 違えばエラー発生 ・値取得~_=F値 ■HTTPグループ # ↓読み書きOK # 基本オプション 初期化されないので毎回書き換えるように ・URL{="http //www.google.co.jp/"} ←URL設定 →URL取得 デフォルト ・FILE ←FILE設定 →FILE取得 ・{整数/*真偽値*/}HEAD取得判定 ・{イベント}経過表示時 # 高度なオプション ・{イベント}終了時イベント ・{イベント}エラー時#~エラーメッセージと言う ・{ハッシュ}オプション# 送信ヘッダに追加 UAなど ・{ハッシュ}Cookie ・{真偽}有効{=1} ←有効設定 →有効取得 ・{真偽}同期{=1} ・{真偽}Cookie自動取得{=1} # InternetExplorerのCookieを適用 ・{真偽}レジューム機能{=1} ・{真偽}自動ページ転送{=1} ・{真偽}自動エンコード機能# UTF8を自動でエンコード ・{数値}経過表示間隔{=0.1}# 経過表示する間隔(0.1秒ごと) ・{数値}瞬間速度幅{=5} ・{数値}TimeOut秒数{=5} ・{数値}HTTPVer{=1.1} ・ポケット ・タグ# 一時データの格納に使える # ↓読込のみOK ・FILEDATA ・HEAD # 経過表示に使える変数 ・{整数}通信中・{整数}受信回数 ・{整数}受信予定Size・{整数}受信Size ・{整数}開始時間 ・{整数}経過時間 ・{整数}経過パーセント ・{整数}推定残り# 秒 ・{数値}平均速度・{数値}瞬間速度# b/s ・{整数}瞬間Size・{整数}前時間・{整数}瞬間時間 ・{整数}TimeOut回数 #----- ・{ハッシュ}HEAD_HASH・{整数}StatusNum{=200} ・Pass ・送信HEAD・{整数}出力H ・{真偽}一回目判定{=1} ・{真偽}Download判定・{真偽}Chunk判定 ・{真偽}Resume判定・{真偽}SizeOver判定 ・{真偽}中断判定・{真偽}停止判定 ・Host{="www.google.co.jp"}・{整数}Port{=80} ・{整数}ID # フェイク ・{非公開}FURL ・URL取得~FURLで戻る ・{非公開}FFILE ・FILE取得~FFILEで戻る ・{非公開}F有効{=1} ・有効取得~F有効で戻る ・{非公開}Option ・{非公開}FERROR ←エラー設定 ・エラー設定(S)~エラーメッセージ=S;エラー時 #---------------------------------------------------------------- ・開始~ FILEDATA=空;HEAD=空;終了時処理#一応 Option=オプション もし、Option@「User-Agent」=空ならば、Option@「User-Agent」=初期UA もし、Option@「Host」=空ならば、Option@「Host」=Host もし、Cookie自動取得=1ならば、Cookie=FURLのCookie取得 もし、Cookie≠空ならば、Option@「Cookie」=Cookieの改行を「;」に置換 もし、Download判定=1ならば もし、(FFILEの存在=1)AND(レジューム機能=0)ならば FFILEをファイル完全削除 出力H=FFILEを「書」でファイルストリーム開く もし、FFILEの存在=1ならば、 Resume判定=1 受信Size=FFILEのファイルサイズ Option@「Range」=「bytes={受信Size}-」 出力Hで受信Sizeにファイルストリーム位置設定 送信HEAD=Optionを逆HTTPヘッダハッシュ変換("GET",Pass,HTTPVer);接続 もし、同期=0ならば TIMER_OBJ=VCL_CREATE(自身,名前,VCL_GUI_TIMER) VCL_SET(TIMER_OBJ,VCL_PROP_VALUE,経過表示間隔*1000) VCL_SET(TIMER_OBJ,VCL_PROP_ENABLED,1);戻る オンの間 メインループ もし、(通信中=0)AND(一回目判定=0)ならば抜ける (経過表示間隔)秒待つ メインループ後 もし、HEAD取得判定=1ならば、HEADで戻る 違えば、FILEDATAで戻る ・メインループ~ もし、停止判定=1ならば、終了時処理;FERROR=ERROR_STOP;戻る 経過表示時 もし、一回目判定=1ならば、 TimeOut回数に1を直接足す もし、(経過表示間隔*TimeOut回数) TimeOut秒数ならば 終了時処理;FERROR=ERROR_TIMEOUT;戻る 違えば、TimeOut回数=0 ・メインループ後~ 経過表示時 もし、Download判定=1ならば 出力Hで0にファイルストリーム位置設定 FILEDATA=出力Hで(0.5*1024*1024)をファイルストリーム読む 出力Hをファイルストリーム閉じる #自動エンコード機能 もし、自動エンコード機能=1ならば Typeとは文字列=HEAD_HASH@「Content-Type」 Typeを「^([^;]*);」で正規表現マッチ もし、抽出文字列[0]=「text/html」ならば Typeを「charset=([^\s]*)」で正規表現マッチ もし、抽出文字列[0]=「utf-8」ならば FILEDATA=FILEDATAを「UTF8」から「SJIS」へ文字コード変換 もし、Download判定=1ならば、FILEDATAをFFILEに保存 終了時イベント;終了時処理 ・終了時処理~ 通信中=0;切断 もし、TIMER_OBJ≠空ならば VCL_SET(TIMER_OBJ,VCL_PROP_ENABLED,0);TIMER_OBJ=空 もし、SizeOver判定=1ならば もし、出力Hのファイルストリームサイズ≠-1ならば 出力Hをファイルストリーム閉じる FFILEをファイル完全削除 Download判定=0;FILE=空; # 変数の初期化 一回目判定=1;TimeOut回数=0;SizeOver判定=0;停止判定=0; 受信回数=0;受信予定Size=0;受信Size=0;出力H=0; 経過パーセント=0;平均速度=0;瞬間速度=0; ・接続した時~ 通信中=1;開始時間=システム時間; 送信HEADを送信 ・受信した時~ 受信回数に1を直接足す 受信DATAとは文字列=受信 もし、一回目判定=1ならば 一回目判定=0 HEAD=受信DATAから「{~}{~}」まで切り取る もし、HEAD取得判定=1ならば、経過パーセント=100;通信中=0;切断;戻る HEAD_HASH=HEADをHTTPヘッダハッシュ変換 StatusNum=HEAD_HASH@「HTTP.Response」#正しい使いかたではない もし、StatusNum≠200ならば StatusNumで条件分岐 403ならば、経過パーセント=100;通信中=0;切断;FERROR=ERROR_TCP_403;戻る 404ならば、経過パーセント=100;通信中=0;切断;FERROR=ERROR_TCP_404;戻る 301ならば、HEAD_HASH@「Location」にTCP転送;戻る 302ならば、HEAD_HASH@「Location」にTCP転送;戻る 303ならば、HEAD_HASH@「Location」にTCP転送;戻る #レジュームで既にダウンロード完了しているとき/Rangeが不正な場合 416ならば、経過パーセント=100;通信中=0;切断;戻る 違えば、#StatusNumを言う もし、HEAD_HASH@「Content-Length」≠空ならば 受信予定Size=HEAD_HASH@「Content-Length」 もし、Resume判定=1ならば 受信予定Sizeに受信Sizeを直接足す もし、(Download判定=0)AND(受信予定Size (0.5*1024*1024))ならば FILE=「download_{テンポラリフォルダ}{開始時間}.bak」 出力H=FFILEを「書」でファイルストリーム開く SizeOver判定=1;Download判定=1; もし、HEAD_HASH@「Transfer-Encoding」=「chunked」ならば、Chunk判定=1 前時間=開始時間 瞬間Sizeに(受信DATAのバイト数)を直接足す 受信Sizeに(受信DATAのバイト数)を直接足す 経過時間=システム時間-開始時間 経過パーセント=INT(受信Size/受信予定Size*100) 平均速度=受信Size/経過時間*1000 もし、受信回数%瞬間速度幅=0ならば 瞬間時間=システム時間-前時間;前時間=システム時間 瞬間速度=瞬間Size/瞬間時間*1000;瞬間Size=0; 推定残り=INT((受信予定Size-受信Size)/平均速度) もし、Chunk判定=0ならば もし、Download判定=0ならば、FILEDATAに受信DATAを追加 違えば、出力Hで受信DATAをファイルストリーム書く もし、経過パーセント =100ならば 経過パーセント=100;通信中=0;切断;戻る; 違えば FILEDATAに受信DATAを追加 FILEDATAの(FILEDATAのバイト数-4)から1バイト抜き出す もし、それ=「0」ならば FILEDATA=FILEDATAからChunkData抽出 もし、Download判定=1ならば 出力HでFILEDATAをファイルストリーム書く FILEDATA=空 経過パーセント=100;通信中=0;切断;戻る ・URL設定(S)~ FURL=S Host=FURLからURLドメイン名抽出 もし、(FURLを「 (\d+)\/」で正規表現マッチ)≠空ならば、Port=抽出文字列[0] FURLを「http \/\/[^\/]+(\/.*)」で正規表現マッチ Pass=抽出文字列[0] ・FILE設定(S)~ FFILE=S もし、FFILE≠空ならば、Download判定=1 違えば、Download判定=0 ・有効設定(S)~ F有効=S もし、通信中=1ならば もし、F有効=1ならば もし、中断判定=1ならば 一回目判定=1;Resume判定=1;中断判定=0; Option@「Range」=「bytes={受信Size}-」 送信HEAD=Optionを逆HTTPヘッダハッシュ変換("GET",Pass,HTTPVer);接続 違えば、切断;中断判定=1 ・有効切替~ もし、F有効=0ならば、有効=1 違えば、有効=0 ・停止~停止判定=1 ・TCP転送(Sに)~ 切断 もし、自動ページ転送=0ならば、経過パーセント=100;通信中=0;戻る URL=S;一回目判定=1; もし、Option@「User-Agent」=空ならば、Option@「User-Agent」=初期UA もし、Option@「Host」=空ならば、Option@「Host」=Host もし、Cookie自動取得=1ならば、Cookie=FURLのCookie取得 もし、Cookie≠空ならば、Option@「Cookie」=Cookieの改行を「;」に置換 送信HEAD=Optionを逆HTTPヘッダハッシュ変換("GET",Pass,HTTPVer);接続 ・{非公開}TIMER_OBJ ・時満ちた時~ メインループ もし、(通信中=0)AND(一回目判定=0)ならば VCL_SET(TIMER_OBJ,VCL_PROP_ENABLED,0) メインループ後 ・受信データ・エラーメッセージ・{非公開}TCPID{=0}・{非公開}オブジェクト ・接続~TCP_COMMAND(TCPID,"connect","{Host} {Port}") ・切断~TCP_COMMAND(TCPID,"disconnect",0) ・送信(Sを)~TCP_COMMAND(TCPID, "send", S) ・受信~TCP_COMMAND(TCPID,"recv",0)で戻る ・作る~ TCPID=__TCPID;__TCPIDに1を直接足す; TCP_COMMAND(TCPID,"create",自身→名前) HTTP_ID一覧に名前を配列追加 ■TAG #タイマーに追加 ・タグ・ポケット ●逆HTTPヘッダハッシュ変換(SをMethod,Pass,HTTP_Ver) HEAD_TOPとは文字列=「{Method} {Pass} HTTP/{HTTP_Ver}」 HEAD_BTTOMとは配列 もし、S@「UA」≠空ならば、S@「UA」=S@「User-Agent」 Sの「UA」をハッシュキー削除 Sのハッシュキー列挙で反復 もし、S@対象≠空ならば、HEAD_BTTOMに「{対象} {S@対象}」を配列追加 「{HEAD_TOP}{~}{HEAD_BTTOM}{~}{~}」で戻る ●ChunkData抽出(Sの|Sから) 結果とは文字列;DATAとは文字列;ChunkSizeとは数値 オンの間 ChunkSize=INT(「${Sから改行まで切り取る}」) もし、(ChunkSize=「0」)OR(ChunkSize=空)ならば抜ける DATA=Sの1から(ChunkSize)バイト抜き出す 結果にDATAを追加 Sの1から(ChunkSize+2)バイト削除 もし、DATA=空ならば抜ける 結果で戻る ●Cookie取得(URLから|URLの|URLを) 結果とはハッシュ;Hとは数値; DATAとは文字列;DATA配列とは配列; URLを「http //(? www\.)*([^\/]+\/)」で正規表現マッチ Domainとは文字列=抽出文字列[0] 「{テンポラリフォルダ}\Cookies\*.txt」の全ファイル列挙で反復 H=対象を「読」でファイルストリーム開く DATA=Hで(対象のファイルサイズ)をファイルストリーム読む Hをファイルストリーム閉じる オンの間 DATAで「*」まで切り取る エラー監視#壊れている可能性があるので DATA配列=それの配列上下空行削除 エラーならば続ける もし、DATA配列=空ならば抜ける もし、DATA配列[2]=Domainならば 結果@DATA配列[0]=DATA配列[1] #結果=結果の改行を「;」に置換 結果で戻る HTTPGとは変数;TIMERとは変数; 新HTTPオプションとはハッシュ;HTTPG一覧とはハッシュ; ●HTTPG準備(S) (S)回 HTTPG[回数]をHTTPグループとして作成 HTTPG[回数]→ID=回数 HTTPG一覧@回数=0 ●新HTTPデータ取得(URLから|URLの|URLを) IDとは数値=ActiveHTTPG_ID HTTPG[ID]→URL=URL HTTPG[ID]→経過表示時は~経過表示時イベント HTTPG[ID]→オプション=新HTTPオプション HTTPG[ID]→FILE=空;HTTPG[ID]→HEAD取得判定=0; HTTPG[ID]→開始 HTTPG一覧@ID=0 HTTPG[ID]→FILEDATAで戻る ●新HTTPヘッダ取得(URLから|URLの|URLを) IDとは数値=ActiveHTTPG_ID HTTPG[ID]→URL=URL HTTPG[ID]→経過表示時は~経過表示時イベント HTTPG[ID]→オプション=新HTTPオプション HTTPG[ID]→FILE=空;HTTPG[ID]→HEAD取得判定=1; HTTPG[ID]→開始 HTTPG一覧@ID=0 HTTPG[ID]→HEADで戻る ●新HTTPダウンロード(URLをFILEへ|URLからFILEに) IDとは数値=ActiveHTTPG_ID HTTPG[ID]→URL=URL HTTPG[ID]→経過表示時は~経過表示時イベント HTTPG[ID]→オプション=新HTTPオプション HTTPG[ID]→FILE=FILE;HTTPG[ID]→HEAD取得判定=0; HTTPG[ID]→開始 HTTPG一覧@ID=0 HTTPG[ID]→HEADで戻る ●ActiveHTTPG_ID (最大HTTP数)回 もし、HTTPG一覧@回数=0ならば HTTPG一覧@回数=1;回数で戻る HTTPG準備(20)#最大20個のHTTPグループが利用できます !変数宣言が不要 総合 - 今日 - 人 昨日 - 人 名前 コメント
https://w.atwiki.jp/nicocachenlwiki/pages/24.html
1. 依存ライブラリのダウンロード https //www.bouncycastle.org/download/bouncy-castle-java/#latest から bcprov-jdk15on-*.jar と bcpkix-jdk15on-*.jar と bcutil-jdk15on-*.jar をダウンロードして それぞれリネームして bcprov.jar と bcpkix.jar と bcutil.jar とし、libフォルダに配置します。 2. genCerts.batの実行 これによりcertsフォルダ内に鍵と証明書(ca.cer, ca.jks, site.cer, site.jks)が生成されます。 certsフォルダ内のファイルは公開しないように注意してください。 証明書を再生成したときはNicoCache_nlの再起動も必須です。 3. config.properties へ enableMitm=true を設定 4. ブラウザに生成された認証局の証明書をインポート a) Chrome(Windows10)の場合 a-1. Windowsボタン certmgrと入力 ユーザー証明書の管理 a-2. 信頼されたルート証明機関をクリック後、操作 すべてのタスク インポート a-3. certs/ca.cerを選択してインポート a-4. Chromeを再起動 b) Firefoxの場合 b-1. 設定 プライバシーとセキュリティ 証明書 証明書を表示 認証局証明書 インポート b-2. certs/ca.cerを選択 b-3. 「この認証局によるウェブサイトの識別を信頼する」にチェック b-4. Firefoxを再起動します c) Firefoxの場合2 c-1. URLバーにabout configと入力. c-2. security.enterprise_roots.enabledをtrue. c-3. Firefoxを再起動. c-4. これでWindows証明書ストアのルート証明書を認識させることができます d) iPhoneの場合 d-1. ca.cerをメールで添付して送ります (注:ca.jksの方は機密情報が入っているので送らないで下さい) d-2. ca.cerを開いてプロファイルのインストールを行います。 d-3. 設定 一般 情報 証明書信頼設定 から ルート証明書を全面的に信頼します 注: pacファイルを利用している場合はpacファイルが古くないか確認! - ... // nicovideo,smile,nimg,dmcへのアクセスを全てNicoCache_nl経由にする proxy.pac // https対応 function FindProxyForURL(url, host) { if ((shExpMatch(host, "*.nicovideo.jp") || shExpMatch(host, "*.smilevideo.jp") || shExpMatch(host, "*.nimg.jp") || shExpMatch(host, "*.dmc.nico") ) (url.indexOf("http ") == 0 || url.indexOf("https ") == 0)) { return "PROXY 127.0.0.1 8080"; } return "DIRECT"; } ユーティリティソフト 証明書管理ユーティリティを作成しました NicoCache_nl Easy Batch.7z_2020/08/15版 BouncyCastleでダウンロードしたbcprov-jdk15on-*.jarとbcpkix-jdk15on-*.jarをgenCerts.batで実行してファイルが出ない場合は、高速インストーラのなかにあるbcprov-jdk15on-*.jarとbcpkix-jdk15on-*.jarを使えばおk -- 名無しさん (2021-07-22 13 08 38) 名前 コメント
https://w.atwiki.jp/ndfwiki/pages/10.html
一分で分かる「niconicoDeutschlandfest」 http //www.nicovideo.jp/watch/sm40922321 Q.niconicoDeutschlandfestって何ですか? 「niconicoDeutschlandfest」は、ニコニコでドイツ動画やアートを盛り上げようという投稿祭企画です! Q.どんな作品が対象ですか? ニコニコに投稿することとドイツにまつわるものであることが重要です。 それ以外のルールはniconicoDeutschland参加ルール(レギュレーション)をご覧ください。 Q.表彰はあるの? あります。 優秀作品の表彰をご覧ください。 Q.あまりドイツに詳しくないんだけど。 愛を語るのに知識はいりません。 あなたのドイツを表現してください。
https://w.atwiki.jp/nicoapi/pages/38.html
[Web API] videoviewhistory/remove 動画の閲覧履歴を見る API。 リクエスト URL GET http //www.nicovideo.jp/api/videoviewhistory/remove?token={token} video_id={video_id} (option ?format=xml) token list で取得したトークン video_id ビデオ ID, all で全削除 データ形式 JSON 形式。 (オプション指定で XML 形式も可) データサンプル JSON の場合 { "count" 28, "removed" "sm23415399", "status" "ok" } エラーの場合 { "code" "internal_error", "description" "内部エラーです", "status" "fail" } XML の場合 ?xml version="1.0" encoding="utf-8"? nicovideo status="ok" removed sm23454445 /removed count 29 /count /nicovideo エラーの場合 ?xml version="1.0" encoding="utf-8"? nicovideo status="fail" code internal_error /code description 内部エラーです /description /nicovideo 更新履歴 2014/5/2 記述